home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ARASAN_S.ZIP / ATCKENTR.H < prev    next >
C/C++ Source or Header  |  1993-11-17  |  1KB  |  55 lines

  1. // Copyright 1993 by Jon Dart.  All Rights Reserved
  2.  
  3. #ifndef _ATTACK_ENTRY_H
  4. #define _ATTACK_ENTRY_H
  5.  
  6. #include "types.h"
  7. #include "piece.h"
  8. #include <iostream.h>
  9.  
  10. class Attack_Entry
  11. {
  12. public:
  13.  
  14.     Attack_Entry();
  15.     
  16.     void add_attack(const Piece::PieceType p);
  17.     
  18.     void remove_attack(const Piece::PieceType p);
  19.     
  20.     Piece::PieceType remove_min_attacker();
  21.     
  22.     Piece::PieceType min_attacker() const;
  23.     
  24.     Boolean any_attacks() const
  25.     {
  26.         return info != 0;
  27.     }
  28.     
  29.     void clear()
  30.     {
  31.         info = 0;
  32.     }
  33.     
  34.     int operator == ( const Attack_Entry &e ) const
  35.     {
  36.         return info == e.info;
  37.     }
  38.  
  39.     int operator != ( const Attack_Entry &e ) const
  40.     {
  41.         return info != e.info;
  42.     }
  43.  
  44.     unsigned num_attacks() const;
  45.     unsigned num_attacks(const Piece::PieceType p) const;
  46.     
  47.     // for debugging:
  48.     friend ostream & operator << (ostream &o, Attack_Entry &entr);
  49. private:    
  50.     int16 info;
  51. };
  52.  
  53. #endif
  54.  
  55.